Beispiel 3: Testfall für Addition mit lokaler Variable, unterschiedlichem Testmodus und Stimuli
In diesem Beispiel wird unterschiedliche Testsuite-Variante für den Funktionsbaustein testAddition
mit dem folgenden ST-Code präsentiert.
|
Die Vorgehensweise beim Test des obigen Funktionsbausteins testAddition
ist analog zum Beispiel 1: Testfall für Counter und Beispiel 2: Testfall für Counter mit globaler/externer Variablen. Daher wird diese Vorgehensweise in diesem Beispiel nicht erneut angeführt. Stattdessen konzentriert sich dieser Artikel auf einige der möglichen Unterschiede in der Testsuite – und zwar auf den unterschiedlichen Testmodus und auf einen vorgegebenen Stimuli für die lokale Variable VAR1
.
Das Arbeitsblatt für den Testfall enthält immer die Spalten für die Variablen, die Eingangsdaten liefern, als auch die Spalte für den Ausgang (= erwartetes Ergebnis). Diese Spalten sind:
-
IN1
-
IN2
-
VAR1
-- Diese Spalte wird tatsächlich nur für Variante 1 benötigt. -
OUT
Für diese Variablen werden Testdaten in allen folgenden Varianten angegeben. Ab der 2. Testsuite-Variante wird im Arbeitsblatt Defaults
dann eine anderer Testmodus für die lokale Variable verwendet. Und in der 3. Variante wird sogar noch ein Stimuli für die lokale Variable spezifiziert (das ist sozusagen ein Initialisierungswert).
Informieren Sie sich unter "Struktur der Excel-Testsuite, Arbeitsblätter bearbeiten" über die Bedeutung der Einträge im Arbeitsblatt Defaults
.
Hier sind die Testsuite-Varianten für den Funktionsbaustein testAddition
:
In diesem Artikel: |
---|
Variante 1 der Testsuite: Vorgegebenen Testmodus "useTestValue" verwenden
In dieser Variante wurden die folgenden Testsequenzen und Testdaten eingegeben:
Die vorgegebenen Angaben unter Defaults
wurden nicht geändert. Da die Variable Var1
nur gelesen wird, ist bereits der Testmodus useTestValue
automatisch eingetragen.
Wenn Sie diesen Testfall ausführen, zeigt die Konsole PASS
als Ergebnis der Testausführung an. Grund: Aufgrund von useTestValue
werden die Testwerte aus der Testfall-Spalte VAR1
verwendet. Das ist der Testwert 3
für die 1. Testsequenz und der Testwert 5
für die 2. Testsequenz.
Somit ergeben sich diese Berechnungen, die korrekt sind:
-
Addition:
1 + 2 + 3 = 6
-
Addition:
1 + 3 + 5 = 9
Variante 2 der Testsuite: Testmodus auf "useLastValue" ändern
In dieser Variante bleiben die Testsequenzen und Testdaten gleich. Die vorgegebenen Angaben unter Defaults
wurden nun geändert. Und zwar wurde der Testmodus auf useLastValue
geändert.
Wenn Sie diesen Testfall ausführen, zeigt die Konsole FAIL
als Ergebnis der Testausführung an. Grund: Aufgrund von useLastValue
werden die Testwerte aus der Testfall-Spalte VAR1
verwendet.
Somit werden beim aktuellen Test nicht mehr diese Berechnungen ausgeführt:
-
Addition:
1 + 2 + 3 = 6
-
Addition:
1 + 3 + 5 = 9
Damit der Testfall erfolgreich ausgeführt wird, müssten die erwarteten Werte für OUT1
angepasst werden. Das erfolgt in der nächsten Variante – dabei wird auch gleich ein Stimuli für VAR1
spezifiziert.
Variante 3 der Testsuite: Testmodus "useLastValue" beibehalten, Stimuli ändern, erwartete Werte anpassen
In dieser Variante wurde die Spalte VAR1
im Testfall gelöscht (da deren Testwerte aufgrund von useLastValue
nicht mehr relevant sind). Außerdem wurde der Stimuli für VAR1
unter 5
auf Defaults
geändert, der Testmodus bleibt auf useLastValue
. Zusätzlich wurde das erwartete Ergebnis für die Testsequenzen angepasst (damit der Testfall wieder erfolgreich ausgeführt wird).
Wenn Sie diesen Testfall ausführen, zeigt die Konsole PASS
als Ergebnis der Testausführung an. Grund: Der Stimuli (= Initialisierungswert) 5
wird nun als Wert für VAR1
bei der Addition verwendet – und zwar bei beiden Testsequenzen.
Somit ergeben sich diese Berechnungen, die korrekt sind:
-
Addition:
1 + 2 + 5 = 8
-
Addition:
1 + 3 + 5 = 9